package org.jeecg.tender.information.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Description: tender_information
 * @Author: jeecg-boot
 * @Date:   2025-02-24
 * @Version: V1.0
 */
@Data
@TableName("tender_information")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tender_information对象", description="tender_information")
public class TenderInformation implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键id")
    private Integer id;
	/**招标单位*/
	@Excel(name = "招标单位", width = 15)
    @ApiModelProperty(value = "招标单位")
    private String biddingUnit;
	/**招标单位行业*/
	@Excel(name = "招标单位行业", width = 15)
    @ApiModelProperty(value = "招标单位行业")
    private String biddingUnitIndustry;
	/**招标预算*/
	@Excel(name = "招标预算", width = 15)
    @ApiModelProperty(value = "招标预算")
    private Double tenderAmount;
	/**招标编码*/
	@Excel(name = "招标编码", width = 15)
    @ApiModelProperty(value = "招标编码")
    private String biddingNum;
	/**招标方式*/
	@Excel(name = "招标方式", width = 15)
    @ApiModelProperty(value = "招标方式")
    private String tenderType;
	/**投标开始时间*/
	@Excel(name = "投标开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "投标开始时间")
    private Date startTime;
	/**投标截止时间*/
	@Excel(name = "投标截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "投标截止时间")
    private Date endTime;
	/**开标时间*/
	@Excel(name = "开标时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "开标时间")
    private Date tenderDate;
	/**中标单位*/
	@Excel(name = "中标单位", width = 15)
    @ApiModelProperty(value = "中标单位")
    private String biddingWinner;
	/**代理机构*/
	@Excel(name = "代理机构", width = 15)
    @ApiModelProperty(value = "代理机构")
    private String agency;
	/**招标信息标题*/
	@Excel(name = "招标信息标题", width = 15)
    @ApiModelProperty(value = "招标信息标题")
    private String tenderTitle;
	/**招标详情*/
	@Excel(name = "招标详情", width = 15)
    @ApiModelProperty(value = "招标详情")
    private String tenderDesc;

    @Excel(name = "招标详情类型", width = 15)
    @ApiModelProperty(value = "招标详情类型")
    private String tenderDescType;
	/**招标网站名称*/
	@Excel(name = "招标网站名称", width = 15)
    @ApiModelProperty(value = "招标网站名称")
    private String websiteName;
	/**爬取时间*/
	@Excel(name = "爬取时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "爬取时间")
    private Date crawlTime;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
	/**最后修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "最后修改时间")
    private Date updateTime;
    /**招标网站地址*/
    @Excel(name = "招标网站地址", width = 15)
    @ApiModelProperty(value = "招标网站地址")
    private String websiteUrl;
    /**公告类型：1-采购公告、2-中选结果公示、3-直接采购公告*/
    @Excel(name = "招标网站地址", width = 15)
    @ApiModelProperty(value = "招标网站地址")
    private String publishType;

    @TableField(exist = false)
    private String keywordName;

    @TableField(exist = false)
    private List<String> keywordManagementIds;
}
